{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## Preamble"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Adding package Microsoft.Quantum.MachineLearning::0.12.20070124."
     ]
    }
   ],
   "source": [
    "import json\n",
    "\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.colors as colors\n",
    "import matplotlib.cm as cmx\n",
    "plt.style.use('ggplot')\n",
    "\n",
    "import qsharp\n",
    "qsharp.packages.add(\"Microsoft.Quantum.MachineLearning::0.28.302812\")\n",
    "qsharp.reload()\n",
    "\n",
    "from Microsoft.Quantum.Samples import (\n",
    "    TrainHalfMoonModel, ValidateHalfMoonModel, ClassifyHalfMoonModel\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "with open('data.json') as f:\n",
    "    data = json.load(f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'TrainingData': {'Features': [[-0.00035731158553797826, -0.06346656877546791],\n",
       "   [-0.0012062337869831463, -0.15157022343854742],\n",
       "   [-0.014980621149421162, 0.7452612548840972],\n",
       "   [-0.03536657731228199, 0.36450905608465584],\n",
       "   [-0.08658898925520085, 0.8549594407803911],\n",
       "   [-0.08780040610147566, 0.3158448974605273],\n",
       "   [-0.11041961535964329, 0.029508550947450807],\n",
       "   [-0.1236937998311684, 0.8915912980454145],\n",
       "   [-0.1381620621317352, 0.100136328149671],\n",
       "   [-0.14962800792227093, 0.03490175212127222],\n",
       "   [-0.16703979749984005, 1.1061592722104854],\n",
       "   [-0.18702040402999198, 0.6909521716931064],\n",
       "   [-0.274906632066767, 0.94407037626692],\n",
       "   [-0.40035386722930877, 0.9640718547110079],\n",
       "   [-0.42645222935272076, 0.8084904468062676],\n",
       "   [-0.44580392648704686, 0.8279493796060237],\n",
       "   [-0.4565691026559081, 1.026935374542866],\n",
       "   [-0.47115221818532443, 1.1627266622606667],\n",
       "   [-0.48113754393867386, 1.0177743873407035],\n",
       "   [-0.5573460215796026, 0.9347902465129836],\n",
       "   [-0.5629032983072818, 0.7552388504286991],\n",
       "   [-0.6349597854601028, 0.43957861193628395],\n",
       "   [-0.6559537333860002, 0.5512056376068405],\n",
       "   [-0.675859772306459, 0.8831917431313464],\n",
       "   [-0.6789437666097666, 0.33724531848285233],\n",
       "   [-0.7184386804472017, 0.1970015971182835],\n",
       "   [-0.7265600758299311, 0.312525805601502],\n",
       "   [-0.7471807053856604, 0.6879169346941071],\n",
       "   [-0.7501513130996611, 0.5868387512254272],\n",
       "   [-0.7675714408206668, 0.3111027708930208],\n",
       "   [-0.8211557055524259, 0.7060386061700794],\n",
       "   [-0.8523667503036682, 0.8760469456594606],\n",
       "   [-0.9318185748767674, 0.5922375073085167],\n",
       "   [-0.9360478798593356, 0.7217802547976218],\n",
       "   [-0.9458822433124261, 0.5463806510445365],\n",
       "   [-0.9927882574787499, 0.37272854954816614],\n",
       "   [-1.0794720450455788, 0.0],\n",
       "   [-1.0903971011972062, 0.15043830790243995],\n",
       "   [-1.1240595085750649, 0.06868659592655377],\n",
       "   [-1.214345522322524, 0.0522205845910377],\n",
       "   [-1.2478207683344034, 0.09971541915389676],\n",
       "   [0.015790851198098987, 0.8176667797938731],\n",
       "   [0.024025073005429665, 0.19498421190371337],\n",
       "   [0.04070325327489788, 0.249948540045528],\n",
       "   [0.05330457430838108, 1.0564351286097744],\n",
       "   [0.08150549868348289, 1.0466409152302647],\n",
       "   [0.13545436353822082, -0.28735571909099844],\n",
       "   [0.13790002655139869, 0.8079245980111084],\n",
       "   [0.14330248971296777, 0.16878957858332952],\n",
       "   [0.15111162653375743, -0.48726422061762564],\n",
       "   [0.15241120217118012, 0.7882780938447811],\n",
       "   [0.1684510563335908, -0.16516768291416295],\n",
       "   [0.1889645905680306, 0.04426699518384147],\n",
       "   [0.19707578589348906, -0.2380232166101135],\n",
       "   [0.21923185570294207, 1.0258464978767086],\n",
       "   [0.2272375409453048, -0.2660358584515484],\n",
       "   [0.23414554456624714, -0.1821040168632353],\n",
       "   [0.23872423712311908, -0.5521479642401027],\n",
       "   [0.28398615786926007, -0.5053038255570522],\n",
       "   [0.2913326625188073, 0.9961989575986329],\n",
       "   [0.3492829018038269, 0.814349058873698],\n",
       "   [0.35875569081458425, -0.07308833776422552],\n",
       "   [0.362865905625692, 0.8093526658754205],\n",
       "   [0.3745589417707047, -0.06441622857939078],\n",
       "   [0.3862048923032335, 0.897812088282051],\n",
       "   [0.44463324389734504, 0.8059192934499005],\n",
       "   [0.45996051267747096, 1.0931047101235087],\n",
       "   [0.47441840271450164, -0.5671490088420339],\n",
       "   [0.4792391502435683, 0.8766676237020283],\n",
       "   [0.49674365935819675, 0.7262766499720068],\n",
       "   [0.5254035987296022, -0.5304074709596346],\n",
       "   [0.5515696762477782, 0.7047403349020965],\n",
       "   [0.5583796023696284, -0.3479717584215746],\n",
       "   [0.5637841185957758, 0.7379114816809925],\n",
       "   [0.6077488386907419, -0.6479590594758237],\n",
       "   [0.6336773725676798, 0.4013212953811713],\n",
       "   [0.6417404109261109, -0.2616928728716996],\n",
       "   [0.6468024469374531, 0.5723741631150826],\n",
       "   [0.6519740444333493, -0.39192657875894454],\n",
       "   [0.6671288712714325, 0.7610985060640911],\n",
       "   [0.6932965033438983, -0.5691093818942972],\n",
       "   [0.7169235943848092, 0.8787011825169279],\n",
       "   [0.735662886386677, -0.5139463255333367],\n",
       "   [0.7372698027976039, 0.5213352096575902],\n",
       "   [0.7418878900815039, 0.7002467277813453],\n",
       "   [0.7664851841222006, -0.6514816641294779],\n",
       "   [0.7725057509267337, 0.8420004414490583],\n",
       "   [0.7826795986676983, 0.18277102726722777],\n",
       "   [0.7940103483510714, 0.4372365151467599],\n",
       "   [0.7979464168249012, 0.34798699949141526],\n",
       "   [0.8260330228824426, -0.49820898981569917],\n",
       "   [0.842288240480912, 0.36875379048411394],\n",
       "   [0.851971206551066, 0.39348082552085084],\n",
       "   [0.86205044244621, 0.19841586681120152],\n",
       "   [0.8649902905009432, -0.8610121773585954],\n",
       "   [0.8918712515887249, 0.04342395954912626],\n",
       "   [0.9330218289777374, -0.3206460583629134],\n",
       "   [0.9415223350819799, 0.09922080120808434],\n",
       "   [0.9803048280161961, -0.4510040235742361],\n",
       "   [1.0208043681386143, -0.8751310593605329],\n",
       "   [1.052488336309264, 0.4328256302831184],\n",
       "   [1.0985310687439107, 0.14973497839506208],\n",
       "   [1.1339205799760226, -0.43403293167637014],\n",
       "   [1.1565732261285677, -0.6595940690524519],\n",
       "   [1.1602020363874843, -0.2934418893827161],\n",
       "   [1.2682099135173655, -0.6278842301450488],\n",
       "   [1.2728317781228748, 0.09730915590736164],\n",
       "   [1.2811702965638943, -0.3447002832792715],\n",
       "   [1.314987405783858, -0.3575003637607095],\n",
       "   [1.385688958936755, -0.40535754675580093],\n",
       "   [1.3971199048085738, -0.5457951846994613],\n",
       "   [1.5012513595709254, -0.5463014889465386],\n",
       "   [1.5172077595677511, -0.6206057874342353],\n",
       "   [1.5231911523171273, -0.34631140825430407],\n",
       "   [1.580210458744003, -0.15260672753941906],\n",
       "   [1.6079210210735444, -0.19380515481338],\n",
       "   [1.6104405670902222, -0.11669112572858897],\n",
       "   [1.6183753843243038, -0.503965099128002],\n",
       "   [1.6201999823810802, -0.33683064921830785],\n",
       "   [1.6576017564472596, -0.4885701807109335],\n",
       "   [1.6845310670806912, -0.2311093840793329],\n",
       "   [1.7410140105531124, -0.3425370707868646],\n",
       "   [1.8363547966325138, 0.14677633121227235],\n",
       "   [1.8486093722400083, -0.2787461884436434],\n",
       "   [1.951337189006637, 0.30510300479138863],\n",
       "   [1.9714210183447758, 0.012927048499541016],\n",
       "   [1.9870163765527555, 0.1911013992299178],\n",
       "   [1.9932458483843853, -0.1645193522473022],\n",
       "   [2.0030979227790873, 0.2522312038058796],\n",
       "   [2.013819388433135, -0.12322354775036859],\n",
       "   [2.083597025712324, 0.16834772265128853],\n",
       "   [2.1046622748873682, 0.321969070147389],\n",
       "   [2.108720022072707, -0.21072346710168843],\n",
       "   [2.124147293246285, -0.07516641977035582],\n",
       "   [2.1433309328426424, 0.4],\n",
       "   [2.207412007224068, 0.1144911302646231],\n",
       "   [2.237584830750855, 0.3595752334213297]],\n",
       "  'Labels': [0,\n",
       "   0,\n",
       "   1,\n",
       "   0,\n",
       "   1,\n",
       "   0,\n",
       "   0,\n",
       "   1,\n",
       "   0,\n",
       "   0,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   0,\n",
       "   0,\n",
       "   1,\n",
       "   1,\n",
       "   0,\n",
       "   1,\n",
       "   0,\n",
       "   0,\n",
       "   1,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   1,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   1,\n",
       "   1,\n",
       "   0,\n",
       "   1,\n",
       "   0,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   0,\n",
       "   1,\n",
       "   1,\n",
       "   0,\n",
       "   1,\n",
       "   0,\n",
       "   1,\n",
       "   0,\n",
       "   1,\n",
       "   0,\n",
       "   1,\n",
       "   0,\n",
       "   1,\n",
       "   0,\n",
       "   1,\n",
       "   0,\n",
       "   1,\n",
       "   1,\n",
       "   0,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   0,\n",
       "   1,\n",
       "   1,\n",
       "   1,\n",
       "   0,\n",
       "   1,\n",
       "   0,\n",
       "   1,\n",
       "   0,\n",
       "   0,\n",
       "   1,\n",
       "   1,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   1,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0,\n",
       "   0]},\n",
       " 'ValidationData': {'Features': [[0.883898709935946, 0.0],\n",
       "   [1.1793893456320759, 0.3748347849076317],\n",
       "   [0.5231831310352743, 0.900818803609586],\n",
       "   [0.30081607582696224, 0.9615554053041235],\n",
       "   [-0.06340157706002579, 1.224735863277014],\n",
       "   [-0.5382643095868677, 1.0133143141607128],\n",
       "   [-0.5975208094029268, 0.561438878658366],\n",
       "   [-0.766231190604878, 0.19526118857958627],\n",
       "   [0.14060021668138722, 0.4],\n",
       "   [0.05239183271831849, -0.008592101868396151],\n",
       "   [0.36087228857768316, -0.3470962748964499],\n",
       "   [0.7371834528946137, -0.3046817236779634],\n",
       "   [1.0706889634601606, -0.7207038198913537],\n",
       "   [1.487876633223481, -0.37571084836184543],\n",
       "   [1.8726657414770358, -0.16558447370672003]],\n",
       "  'Labels': [1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0]}}"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## Training"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "parameter_starting_points = [\n",
    "    [0.060057, 3.00522,  2.03083,  0.63527,  1.03771, 1.27881, 4.10186,  5.34396],\n",
    "    [0.586514, 3.371623, 0.860791, 2.92517,  1.14616, 2.99776, 2.26505,  5.62137],\n",
    "    [1.69704,  1.13912,  2.3595,   4.037552, 1.63698, 1.27549, 0.328671, 0.302282],\n",
    "    [5.21662,  6.04363,  0.224184, 1.53913,  1.64524, 4.79508, 1.49742,  1.545]\n",
    " ]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Ready to train.\n",
      "  Beginning training at start point #0...\n",
      "    Pre-encoding samples...\n",
      "    Beginning epoch 1.\n",
      "        Beginning minibatch 0 of 5.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "      Estimating gradient at sample 8...\n",
      "      Estimating gradient at sample 9...\n",
      "      Estimating gradient at sample 10...\n",
      "      Estimating gradient at sample 11...\n",
      "      Estimating gradient at sample 12...\n",
      "      Estimating gradient at sample 13...\n",
      "      Estimating gradient at sample 14...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 5.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "      Estimating gradient at sample 8...\n",
      "      Estimating gradient at sample 9...\n",
      "      Estimating gradient at sample 10...\n",
      "      Estimating gradient at sample 11...\n",
      "      Estimating gradient at sample 12...\n",
      "      Estimating gradient at sample 13...\n",
      "      Estimating gradient at sample 14...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 5.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "      Estimating gradient at sample 8...\n",
      "      Estimating gradient at sample 9...\n",
      "      Estimating gradient at sample 10...\n",
      "      Estimating gradient at sample 11...\n",
      "      Estimating gradient at sample 12...\n",
      "      Estimating gradient at sample 13...\n",
      "      Estimating gradient at sample 14...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 5.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "      Estimating gradient at sample 8...\n",
      "      Estimating gradient at sample 9...\n",
      "      Estimating gradient at sample 10...\n",
      "      Estimating gradient at sample 11...\n",
      "      Estimating gradient at sample 12...\n",
      "      Estimating gradient at sample 13...\n",
      "      Estimating gradient at sample 14...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 5.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "      Estimating gradient at sample 8...\n",
      "      Estimating gradient at sample 9...\n",
      "      Estimating gradient at sample 10...\n",
      "      Estimating gradient at sample 11...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 2.\n",
      "        Beginning minibatch 0 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 7 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 9 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 10 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 11 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 12 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 13 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 14 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 15 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 16 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 17 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 18 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 19 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 20 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 21 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 22 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 23 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 24 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 25 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 26 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 27 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "        Beginning minibatch 28 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 29 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 30 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 31 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 32 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 33 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 34 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 35 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 36 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 37 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 38 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 39 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 40 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 41 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 42 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 43 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 44 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 45 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 46 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 47 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 48 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 49 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 50 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 51 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 52 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 53 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 54 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 55 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 56 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 57 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 58 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 59 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 60 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 61 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 62 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 63 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 64 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 65 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 66 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 67 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 68 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 69 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 70 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 71 of 72.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 3.\n",
      "        Beginning minibatch 0 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "        Beginning minibatch 4 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "        Beginning minibatch 6 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 7 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 9 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 10 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 11 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 12 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 13 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 14 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 15 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 16 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 17 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 18 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 19 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 20 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 21 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 22 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 23 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 24 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 25 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 26 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 27 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 28 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 29 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 30 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 31 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 32 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 33 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 34 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 35 of 36.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 4.\n",
      "        Beginning minibatch 0 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 7 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "        Beginning minibatch 9 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 10 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 11 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 12 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 13 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 14 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 15 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 16 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 17 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 18 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 19 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 20 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 21 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 22 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 23 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 5.\n",
      "        Beginning minibatch 0 of 18.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 18.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 18.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "        Beginning minibatch 3 of 18.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 18.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 18.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 18.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 7 of 18.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 18.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 9 of 18.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 10 of 18.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 11 of 18.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 12 of 18.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 13 of 18.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 14 of 18.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 15 of 18.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 16 of 18.\n",
      "      Estimating gradient at sample 0...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 17 of 18.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 6.\n",
      "        Beginning minibatch 0 of 14.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 14.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 14.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 14.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 14.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 14.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 14.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 7 of 14.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 14.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 9 of 14.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 10 of 14.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 11 of 14.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 12 of 14.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 13 of 14.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 7.\n",
      "        Beginning minibatch 0 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 7 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 9 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 10 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 11 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 8.\n",
      "        Beginning minibatch 0 of 10.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 10.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 10.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 10.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 10.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 10.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 10.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 7 of 10.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 10.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 9 of 10.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 9.\n",
      "        Beginning minibatch 0 of 9.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 9.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 9.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 9.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 9.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 9.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 9.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "            Observed good parameter update... estimating and possibly committing.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "        Beginning minibatch 7 of 9.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 9.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "  Beginning training at start point #1...\n",
      "    Pre-encoding samples...\n",
      "    Beginning epoch 1.\n",
      "        Beginning minibatch 0 of 4.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "      Estimating gradient at sample 8...\n",
      "      Estimating gradient at sample 9...\n",
      "      Estimating gradient at sample 10...\n",
      "      Estimating gradient at sample 11...\n",
      "      Estimating gradient at sample 12...\n",
      "      Estimating gradient at sample 13...\n",
      "      Estimating gradient at sample 14...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 4.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "      Estimating gradient at sample 8...\n",
      "      Estimating gradient at sample 9...\n",
      "      Estimating gradient at sample 10...\n",
      "      Estimating gradient at sample 11...\n",
      "      Estimating gradient at sample 12...\n",
      "      Estimating gradient at sample 13...\n",
      "      Estimating gradient at sample 14...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 4.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "      Estimating gradient at sample 8...\n",
      "      Estimating gradient at sample 9...\n",
      "      Estimating gradient at sample 10...\n",
      "      Estimating gradient at sample 11...\n",
      "      Estimating gradient at sample 12...\n",
      "      Estimating gradient at sample 13...\n",
      "      Estimating gradient at sample 14...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 4.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "      Estimating gradient at sample 8...\n",
      "      Estimating gradient at sample 9...\n",
      "      Estimating gradient at sample 10...\n",
      "      Estimating gradient at sample 11...\n",
      "      Estimating gradient at sample 12...\n",
      "      Estimating gradient at sample 13...\n",
      "      Estimating gradient at sample 14...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 2.\n",
      "        Beginning minibatch 0 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 7 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 9 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 10 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 11 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 12 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 13 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 14 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 15 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 16 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 17 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 18 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 19 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 20 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 21 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 22 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 23 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 24 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 25 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 26 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "        Beginning minibatch 27 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 28 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 29 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 30 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 31 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 32 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 33 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 34 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 35 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 36 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 37 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 38 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 39 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 40 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 41 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 42 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 43 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 44 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 45 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 46 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 47 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 48 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 49 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 50 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 51 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 52 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 53 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 54 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 55 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 56 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 57 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 58 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 59 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 3.\n",
      "        Beginning minibatch 0 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 7 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 9 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 10 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 11 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 12 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 13 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 14 of 30.\n",
      "      Estimating gradient at sample 0...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 15 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 16 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 17 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 18 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 19 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 20 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "        Beginning minibatch 21 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "        Beginning minibatch 22 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "        Beginning minibatch 23 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 24 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "        Beginning minibatch 25 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 26 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "        Beginning minibatch 27 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "        Beginning minibatch 28 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 29 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "    Beginning epoch 4.\n",
      "        Beginning minibatch 0 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 7 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 9 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 10 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 11 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 12 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 13 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 14 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 15 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 16 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 17 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 18 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 19 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 5.\n",
      "        Beginning minibatch 0 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "        Beginning minibatch 7 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 9 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 10 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "        Beginning minibatch 11 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 12 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 13 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "        Beginning minibatch 14 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 6.\n",
      "        Beginning minibatch 0 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 7 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 9 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 10 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 11 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 7.\n",
      "        Beginning minibatch 0 of 4.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "      Estimating gradient at sample 8...\n",
      "      Estimating gradient at sample 9...\n",
      "      Estimating gradient at sample 10...\n",
      "      Estimating gradient at sample 11...\n",
      "      Estimating gradient at sample 12...\n",
      "      Estimating gradient at sample 13...\n",
      "      Estimating gradient at sample 14...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 4.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      Estimating gradient at sample 7...\n",
      "      Estimating gradient at sample 8...\n",
      "      Estimating gradient at sample 9...\n",
      "      Estimating gradient at sample 10...\n",
      "      Estimating gradient at sample 11...\n",
      "      Estimating gradient at sample 12...\n",
      "      Estimating gradient at sample 13...\n",
      "      Estimating gradient at sample 14...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 4.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "      Estimating gradient at sample 8...\n",
      "      Estimating gradient at sample 9...\n",
      "      Estimating gradient at sample 10...\n",
      "      Estimating gradient at sample 11...\n",
      "      Estimating gradient at sample 12...\n",
      "      Estimating gradient at sample 13...\n",
      "      Estimating gradient at sample 14...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 4.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "      Estimating gradient at sample 8...\n",
      "      Estimating gradient at sample 9...\n",
      "      Estimating gradient at sample 10...\n",
      "      Estimating gradient at sample 11...\n",
      "      Estimating gradient at sample 12...\n",
      "      Estimating gradient at sample 13...\n",
      "      Estimating gradient at sample 14...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 8.\n",
      "        Beginning minibatch 0 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 7 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 9 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 10 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 11 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 12 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 13 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 14 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 15 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 16 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 17 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 18 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 19 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 20 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 21 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 22 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 23 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 24 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 25 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 26 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 27 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 28 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 29 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 30 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 31 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 32 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 33 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 34 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 35 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 36 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 37 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 38 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 39 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "        Beginning minibatch 40 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 41 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 42 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 43 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 44 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 45 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 46 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 47 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 48 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 49 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 50 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 51 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 52 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 53 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 54 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 55 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 56 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 57 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 58 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 59 of 60.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 9.\n",
      "        Beginning minibatch 0 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 7 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 9 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 10 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 11 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 12 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 13 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 14 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 15 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 16 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 17 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 18 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 19 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 20 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "        Beginning minibatch 21 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "        Beginning minibatch 22 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "        Beginning minibatch 23 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 24 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "        Beginning minibatch 25 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 26 of 30.\n",
      "      Estimating gradient at sample 0...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      Estimating gradient at sample 1...\n",
      "        Beginning minibatch 27 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "        Beginning minibatch 28 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 29 of 30.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "    Beginning epoch 10.\n",
      "        Beginning minibatch 0 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 7 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 9 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 10 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 11 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 12 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 13 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 14 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 15 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 16 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 17 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 18 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 19 of 20.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 11.\n",
      "        Beginning minibatch 0 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "        Beginning minibatch 7 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 9 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 10 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "        Beginning minibatch 11 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 12 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 13 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "        Beginning minibatch 14 of 15.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 12.\n",
      "        Beginning minibatch 0 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 7 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 9 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 10 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 11 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 13.\n",
      "        Beginning minibatch 0 of 11.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 11.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 11.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 11.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 11.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 11.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 11.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 7 of 11.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 11.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 9 of 11.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 10 of 11.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 14.\n",
      "        Beginning minibatch 0 of 10.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 10.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 10.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 10.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 10.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 10.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 10.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 7 of 10.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 10.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 9 of 10.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 15.\n",
      "        Beginning minibatch 0 of 9.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "        Beginning minibatch 1 of 9.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 9.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 9.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 9.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 9.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 9.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "        Beginning minibatch 7 of 9.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 9.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "  Beginning training at start point #2...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "    Pre-encoding samples...\n",
      "    Beginning epoch 1.\n",
      "        Beginning minibatch 0 of 2.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "      Estimating gradient at sample 8...\n",
      "      Estimating gradient at sample 9...\n",
      "      Estimating gradient at sample 10...\n",
      "      Estimating gradient at sample 11...\n",
      "      Estimating gradient at sample 12...\n",
      "      Estimating gradient at sample 13...\n",
      "      Estimating gradient at sample 14...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 2.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 2.\n",
      "        Beginning minibatch 0 of 2.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "      Estimating gradient at sample 8...\n",
      "      Estimating gradient at sample 9...\n",
      "      Estimating gradient at sample 10...\n",
      "      Estimating gradient at sample 11...\n",
      "      Estimating gradient at sample 12...\n",
      "      Estimating gradient at sample 13...\n",
      "      Estimating gradient at sample 14...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 2.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 3.\n",
      "        Beginning minibatch 0 of 21.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 21.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 21.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 21.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 21.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 21.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 21.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 7 of 21.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 21.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 9 of 21.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 10 of 21.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 11 of 21.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 12 of 21.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 13 of 21.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 14 of 21.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 15 of 21.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 16 of 21.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 17 of 21.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 18 of 21.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 19 of 21.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 20 of 21.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 4.\n",
      "        Beginning minibatch 0 of 11.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 11.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 11.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "        Beginning minibatch 3 of 11.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 11.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 11.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 11.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 7 of 11.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 11.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 9 of 11.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 10 of 11.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 5.\n",
      "        Beginning minibatch 0 of 7.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 7.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 7.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 7.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 7.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 7.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 7.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 6.\n",
      "        Beginning minibatch 0 of 6.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 6.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 6.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 6.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 6.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 6.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 7.\n",
      "        Beginning minibatch 0 of 5.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 5.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 5.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 5.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 5.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 8.\n",
      "        Beginning minibatch 0 of 4.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 4.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 4.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 4.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 9.\n",
      "        Beginning minibatch 0 of 3.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 3.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 3.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 10.\n",
      "        Beginning minibatch 0 of 3.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 3.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 3.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  Beginning training at start point #3...\n",
      "    Pre-encoding samples...\n",
      "    Beginning epoch 1.\n",
      "        Beginning minibatch 0 of 2.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "      Estimating gradient at sample 8...\n",
      "      Estimating gradient at sample 9...\n",
      "      Estimating gradient at sample 10...\n",
      "      Estimating gradient at sample 11...\n",
      "      Estimating gradient at sample 12...\n",
      "      Estimating gradient at sample 13...\n",
      "      Estimating gradient at sample 14...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 2.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "      Estimating gradient at sample 8...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 2.\n",
      "        Beginning minibatch 0 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 7 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 9 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 10 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 11 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 12 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 13 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 14 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 15 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 16 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 17 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 18 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 19 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 20 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 21 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 22 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 23 of 24.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 3.\n",
      "        Beginning minibatch 0 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 7 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 8 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 9 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 10 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 11 of 12.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 4.\n",
      "        Beginning minibatch 0 of 8.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 8.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 8.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "        Beginning minibatch 3 of 8.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 8.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 8.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 6 of 8.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 7 of 8.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 5.\n",
      "        Beginning minibatch 0 of 6.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 6.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 6.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "        Beginning minibatch 3 of 6.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 6.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 5 of 6.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "    Beginning epoch 6.\n",
      "        Beginning minibatch 0 of 5.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 5.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 5.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 5.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 5.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 7.\n",
      "        Beginning minibatch 0 of 5.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 5.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 5.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 5.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 4 of 5.\n",
      "      Estimating gradient at sample 0...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "    Beginning epoch 8.\n",
      "        Beginning minibatch 0 of 4.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 1 of 4.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 2 of 4.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 4.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "    Beginning epoch 9.\n",
      "        Beginning minibatch 0 of 4.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "        Beginning minibatch 1 of 4.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "        Beginning minibatch 2 of 4.\n",
      "      Estimating gradient at sample 0...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "      Estimating gradient at sample 3...\n",
      "      Estimating gradient at sample 4...\n",
      "      Estimating gradient at sample 5...\n",
      "      Estimating gradient at sample 6...\n",
      "      Estimating gradient at sample 7...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "        Beginning minibatch 3 of 4.\n",
      "      Estimating gradient at sample 0...\n",
      "      Estimating gradient at sample 1...\n",
      "      Estimating gradient at sample 2...\n",
      "            Observed good parameter update... estimating and possibly committing.\n",
      "Training complete, found optimal parameters: [1.69704,1.13912,2.37344,4.0514920000000005,1.65092,1.2894299999999999,0.342611,0.316222]\n"
     ]
    }
   ],
   "source": [
    "(parameters, bias) = TrainHalfMoonModel.simulate(\n",
    "    trainingVectors=data['TrainingData']['Features'],\n",
    "    trainingLabels=data['TrainingData']['Labels'],\n",
    "    initialParameters=parameter_starting_points,\n",
    "    verbose=True\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## Validation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Miss rate: 13.33%\n"
     ]
    }
   ],
   "source": [
    "miss_rate = ValidateHalfMoonModel.simulate(\n",
    "    validationVectors=data['ValidationData']['Features'],\n",
    "    validationLabels=data['ValidationData']['Labels'],\n",
    "    parameters=parameters, bias=bias\n",
    ")\n",
    "\n",
    "print(f\"Miss rate: {miss_rate:0.2%}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## Plotting"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Classify the validation so that we can plot it."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "actual_labels = data['ValidationData']['Labels']\n",
    "classified_labels = ClassifyHalfMoonModel.simulate(\n",
    "    samples=data['ValidationData']['Features'],\n",
    "    parameters=parameters, bias=bias,\n",
    "    tolerance=0.005, nMeasurements=10_000\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "To plot samples, it's helpful to have colors for each.\n",
    "We'll plot four cases:\n",
    "- actually 0, classified as 0\n",
    "- actually 0, classified as 1\n",
    "- actually 1, classified as 1\n",
    "- actually 1, classified as 0\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "cases = [(0, 0), (0, 1), (1, 1), (1, 0)]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "We can use these cases to define markers and colormaps for plotting."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "markers = [\n",
    "    '.' if actual == classified else 'x'\n",
    "    for (actual, classified) in cases\n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "colormap = cmx.ScalarMappable(colors.Normalize(vmin=0, vmax=len(cases) - 1))\n",
    "colors = [colormap.to_rgba(idx_case) for (idx_case, case) in enumerate(cases)]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "It's also really helpful to have the samples as a NumPy array so that we\n",
    "can find masks for each of the four cases."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "samples = np.array(data['ValidationData']['Features'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "Finally, we loop over the cases above and plot the samples that match each."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x7f3c9509cd90>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f3c950bcd90>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(12, 8))\n",
    "for (idx_case, ((actual, classified), marker, color)) in enumerate(zip(cases, markers, colors)):\n",
    "    mask = np.logical_and(np.equal(actual_labels, actual), np.equal(classified_labels, classified))\n",
    "    if not np.any(mask): continue\n",
    "    plt.scatter(\n",
    "        samples[mask, 0], samples[mask, 1],\n",
    "        label=f\"Was {actual}, classified {classified}\",\n",
    "        marker=marker, s=300, c=[color],\n",
    "    )\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## Epilogue"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'iqsharp': LooseVersion ('0.12.20072031'),\n",
       " 'Jupyter Core': LooseVersion ('1.4.0.0'),\n",
       " '.NET Runtime': LooseVersion ('.NETCoreApp,Version=v3.1'),\n",
       " 'qsharp': LooseVersion ('0.12.2007.2031')}"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "qsharp.component_versions()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "celltoolbar": "Slideshow",
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
